// localStorage操作js文件
const KEY = 'goods';


//1.0 根据key获取localstorage中数据
export  function getItem() {
    return JSON.parse(localStorage.getItem(KEY) || '[]');
}

//2.0向localstorage中存储数据
//obj的格式：{goodsid:1,count:1}
export function setItem(obj) {
    //第一步获取老数据
    var arr = JSON.parse(localStorage.getItem(KEY) || '[]');
    //第二步，追加新数据
    arr.push(obj);
    //统一将新老数据存储起来
    localStorage.setItem(KEY,JSON.stringify(arr));
}


//3.0根据key移除数据  shopcar.vue组件中的减少一个商品
export function subStrictItem(goodsid) {
    //1.0 获取老数据
    var arr = JSON.parse(localStorage.getItem(KEY) || '[]');
    //2.0遍历数组
    for(let i = arr.length-1;i>0;i--){
        //没遍历一个对象的goodsid就和goodsid对比，如果想对则是我们需要操作的对象
        let temObj = arr[i];
        if(arr[i].goodsid == goodsid){
            //刚好是这个对象且这个对象的数量为1，则从数组中移除这个对象
            if(temObj.count == 1){
                arr.splice(i,1);  //i为删除的位置，1为删除的数量
            }else {
                //将当前数据中的count--
                arr[i].count = arr[i].count - 1;
            }

            break; //找到一个以后就跳出，否则就减没了
        }
    }

    //统一将新老数据存储起来
    localStorage.setItem(KEY,JSON.stringify(arr));
}

export  function removeItem(goodsid) {
    //1.0 获取老数据
    var arr = JSON.parse(localStorage.getItem(KEY) || '[]');
    let newArr = [];
    for(let i = arr.length-1;i>=0;i--){
        if (arr[i].goodsid != goodsid){
            newArr.push(arr[i]); //把不等于goodsid的值push到新数组，最后保存新数组
        }
    }

    //统一将新老数据存储起来
    localStorage.setItem(KEY,JSON.stringify(newArr));
}